var logQueue = []; // 日志操作队列
var isProcessing = false; // 是否有日志正在处理

function localStorageLog(newLogEntry) {
  logQueue.push(newLogEntry); // 将新的日志条目加入队列
  if (!isProcessing) {
    processLogQueue(); // 如果没有日志正在处理，开始处理队列
  }
}

function clearLog() {
  chrome.storage.local.remove(['clock log'], function() {
    if (chrome.runtime.lastError) {
      console.error('清空日志失败：', chrome.runtime.lastError);
    } else {
      console.log('日志已清空。');
    }
  });
}

function showLog() {
  chrome.storage.local.get(['clock log'], res => console.log(res['clock log']))
}

function processLogQueue() {
  if (logQueue.length === 0) {
    isProcessing = false; // 如果队列为空，设置标志为false并返回
    return;
  }
  isProcessing = true; // 设置正在处理日志的标志
  var newLogEntry = logQueue.shift(); // 从队列中取出一个日志条目

  chrome.storage.local.get(['clock log'], function(result) {
    var currentLog = result['clock log'] || "";
    currentLog += (currentLog ? "\n" : "") + newLogEntry; // 追加日志

    chrome.storage.local.set({'clock log': currentLog}, function() {
      processLogQueue(); // 递归调用以处理下一个日志条目
    });
  });
}
